package com.zb.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zb.entity.AccounLoginInfo;
import com.zb.entity.RemarkVo;
import com.zb.entity.ZjWorkSuspend;
import com.zb.mobile.NetworkMobileWorkSuspendVo;
import com.zb.vo.WorkSuspendChecklVo;
import com.zb.vo.WorkSuspendDetailVo;

import java.util.Map;

/**
 * <p>
 * 工单挂起表 服务类
 * </p>
 *
 * @author WEN
 * @since 2024-03-18
 */
public interface ZjWorkSuspendService extends IService<ZjWorkSuspend> {

    /**
     * 根据工单ID获取工单挂起设置
     * @param workId 工单ID
     * @return
     */
    Map<String, Object> getOrderSuspendConfig(Long workId);

    /**
     * 服务工程师申请工单挂起
     * @param loginInfo
     * @param workId 工单ID
     * @param workSuspendVo
     */
    void networkEmpApplySuspend(AccounLoginInfo loginInfo, Long workId, NetworkMobileWorkSuspendVo workSuspendVo);

    /**
     * 服务工程师取消工单挂起
     * @param loginInfo
     * @param workId 工单ID
     */
    void networkEmpRestartSuspendOrder(AccounLoginInfo loginInfo, Long workId);

    /**
     * 获取待审核的挂起工单
     * @param workId 工单ID
     * @return
     */
    WorkSuspendDetailVo getWaitCheckSupendOrder(Long workId);

    /**
     * 根据工单ID获取挂起待审核的工单
     * @param workId 工单ID
     * @return
     */
    ZjWorkSuspend getWaitCheckFeeByWorkId(Long workId);

    /**
     * 审核挂起的工单
     * @param loginInfo
     * @param workId 工单ID
     * @param suspendChecklVo
     */
    void checkSuspendOrder(AccounLoginInfo loginInfo, Long workId, WorkSuspendChecklVo suspendChecklVo);



}
